package com.financing.wap.service;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

import com.financing.wap.common.Pager;
import com.financing.wap.dto.ActivitieGiftDTO;
import com.financing.wap.dto.ActivitiesWeChatGiftDTO;
import com.financing.wap.vo.ActivitieGiftVo;

public interface IActivitieGiftService {
	/**
	 * 
	 * @Title: queryActivitieGiftDTOList
	 * @Description: 查询活动红包 
	 * @param @param activitieGiftDTO
	 * @param @return   
	 * @return List<ActivitieGiftDTO>   
	 * @throws
	 */
	public List<ActivitieGiftVo> queryActivitieGiftDTOList(ActivitieGiftDTO activitieGiftDTO,Pager pager);
	
	/**
	 * 
	 * @Title: countActivitiesGift
	 * @Description: 查询自己红包总数 
	 * @param @param faId
	 * @param @return   
	 * @return Integer   
	 * @throws
	 */
	public Integer countActivitiesGift(String faId);
	
	/**
	 * @throws Exception 
	 * 
	 * @Title: ActivitiesGiftJobExecution
	 * @Description: 定时任务（红包操作）
	 * @param @param activitiesCode 活动标记  aStatus 活动状态   count 查询条数
	 * @param @return   
	 * @return Integer   
	 * @throws
	 */
	public Integer ActivitiesGiftJobExecution(String activitiesCode, String aStatus,
			Integer count) throws Exception;
	
	/**
	 * 
	 * @Title: mollionsWealthCount
	 * @Description: 百万财富发放额统计 
	 * @param @return
	 * @param @throws Exception   
	 * @return BigDecimal   
	 * @throws
	 */
	public BigDecimal mollionsWealthCount() throws Exception;
	
	/**
	 * @throws Exception 
	 * 
	 * @Title: ActivitiesGiftJobExecution
	 * @Description: 定时任务（红包88特殊操作）
	 * @param @param activitiesCode 活动标记  aStatus 活动状态   count 查询条数
	 * @param @return   
	 * @return Integer   
	 * @throws
	 */
	public Integer ActivitiesGiftJobExecutionForSpecialTreatment(String activitiesCode,String aStatus,Integer count) throws Exception;
	
	/**
	 * 发放红包
	 * @param actgift
	 * @return
	 * @throws Exception
	 */
	public List<ActivitieGiftDTO> sendGift(ActivitieGiftDTO actgift) throws Exception;
	
	/**
	 * 查询红包信息
	 * @param actgift
	 * @return
	 * @throws Exception
	 */
	public List<ActivitieGiftDTO> queryGifts(ActivitieGiftDTO actgift) throws Exception;
	
	/**
	 * 查询2016元宵红包信息
	 * @param actgift
	 * @return
	 * @throws Exception
	 */
	public List<Map<String,Object>> queryYLYXHDGifts(ActivitieGiftDTO actgift) throws Exception;
	
	/**
	 * 判断是否活动进行中
	 * @param activitieCode
	 * @return
	 */
	public int isActivitieEnd(String activitieCode);
	
	/**
	 * 
	 * @Title: addActivitiesWeChatGift
	 * @Description: 添加微信红包 
	 * @param @param activitiesWeChatGiftDTO
	 * @param @return
	 * @param @throws Exception   
	 * @return int   
	 * @throws
	 */
	public int addActivitiesWeChatGift(ActivitiesWeChatGiftDTO activitiesWeChatGiftDTO) throws Exception;
	
	/**
	 * 
	 * @Title: updateActivitiesWeChatGift
	 * @Description: 修改微信红包 
	 * @param @param activitiesWeChatGiftDTO
	 * @param @return
	 * @param @throws Exception   
	 * @return int   
	 * @throws
	 */
	public int updateActivitiesWeChatGift(ActivitiesWeChatGiftDTO activitiesWeChatGiftDTO) throws Exception;
	
	/**
	 * 修改活动红包状态
	 * @return
	 */
	public int updateActivitieGift(ActivitieGiftDTO dto) throws Exception;
}
